The present invention relates to a database architecture for geographic data and, more particularly, the present invention relates to a deductive database architecture for geographic data used in a navigation system or by a navigation application.
Navigation systems are provided on various computer platforms. In some navigation systems, navigation applications and hardware are combined into a single unit. Such single unit systems may be installed in vehicles or may be carried by persons. Navigation applications are also available for general purpose computer platforms, such as personal computers, personal digital assistants, PalmPilot(copyright)-type devices, and so on.
Navigation systems and navigation applications provide a variety of useful navigation-related features and services. For example, navigation systems installed in vehicles can provide detailed instructions for driving to desired destinations thereby reducing travel times and expenses. Navigation systems and navigation applications can also search for businesses of a desired type and provide routing guidance to locations of such businesses. Navigation systems and navigation applications can also incorporate real-time traffic information. Navigation systems and applications may also be used by operators of vehicle fleets, such as trucking companies, package delivery services, and so on.
In order to provide various kinds of useful features, navigation systems and applications use geographic data. One consideration associated with providing geographic data for navigation systems and applications is that geographic data become out-of-date. For example, new roads are built, businesses change locations, road construction closes roads, detours are established, museum and restaurant hours change, etc. It is expected that end users, such as vehicle owners who have navigation systems in their vehicles, will want to have the geographic data in their navigation systems updated from time to time.
A consideration related to providing up-to-date data for navigation systems is the proliferation of different, incompatible navigation system platforms. In order to provide updated geographic data for an end user""s navigation system over the lifetime of the navigation system, the provider of geographic data needs to provide a product that not only has updated geographic data, but also that is compatible with the end user""s particular navigation system platform. Over the expected lifetime of navigation systems, which may be ten years or more, this would require supporting a growing number of old, incompatible navigation systems and platforms. If specialized versions of updated geographic data products had to be produced for each separate, different type or version of navigation platform, the number of different products would continue to increase over time thereby making the provision of updated geographic data products to end users difficult and expensive.
Another problem associated with providing navigation-related services with a navigation system or navigation application is integration of different types of data with geographic data. For example, a person may want to make reservations for dinner and see a movie. It is envisioned that a navigation system could include a feature to automatically make reservations at a restaurant of a desired type, obtain tickets for the movie, and provide driving instructions for traveling to the restaurant, then to the theater, and then back home, taking into account the availability of reservations at restaurants of the desired type, the show times of the movie at various theaters, and travel times between the person""s location, the locations of the restaurants of the desired type and the locations of the various theaters. In order to provide this kind of feature, a means is required to combine the geographic data about the locations of the restaurants and theaters, data about travel times on the road network, data about the restaurant reservations, and data about movie show times and reservations.
Accordingly, there exists a need for a way to provide for updating a geographic database used in a navigation system.
There also exists a need for a way to integrate different types of data with geographic data contained in a geographic database.
To address these and other objectives, the present invention comprises a database architecture for using geographic data to provide navigation-related functions. The navigation-related functions are provided by navigation program applications. A geographic database is stored on a medium and includes data representing geographic features and has a plurality of indexes into the data. A data access layer accepts requests from the navigation program applications for geographically-referenced data, accesses the geographic database and provides responses to the requests from the navigation program applications for data including geographically-referenced data and non-spatially referenced data such as list of streets names, city names, etc. Logic rules are associated with the geographic database. The data access layer includes a deductive database engine that accesses and combines the logic rules to determine how to use to the indexes to access the data from the medium and to convert the data from a format in which they are stored on the medium into a format that the navigation program applications can use. The database architecture can be used in vehicle navigation systems including navigation systems that use data obtained via wireless communications links from off-board data suppliers.